#include "Max.h"
#include "resource.h"
#include "utilapi.h"
#include "ActionTable.h"
#include "imacroscript.h"

#define MY_CATEGORY _T("How To")
#define MY_CLASSNAME _T("worldExport")
#define MY_CLASS_ID Class_ID(0x227d9df3, 0x999895ed)
#define MY_LIBDESCRIPTION _T("worldExport")

#define TBITEM(type, pIcon, cmd) \
		ToolButtonItem(type,pIcon,GetCUIFrameMgr()->GetImageSize(),GetCUIFrameMgr()->GetImageSize(),GetCUIFrameMgr()->GetButtonWidth(),GetCUIFrameMgr()->GetButtonHeight(),cmd,0)

#define ID_BUILDDIALOG 10001
#define ID_MODELDIALOG 10002

class CWorldExportToolBar : public UtilityObj {
  public:
    ICUIFrame* GetICUIFrame();

	CWorldExportToolBar() { hToolbarWnd = NULL; };
	~CWorldExportToolBar() { };

	void BeginEditParams(Interface *,IUtil *g_pUp);
	void EndEditParams(Interface *,IUtil *g_pUp);
	void DeleteThis() {}

private:
	HWND hToolbarWnd;
};
static CWorldExportToolBar g_pExportToolbar;
class WorldExportClassDesc : public ClassDesc {
public:
	void *			Create(BOOL loading = FALSE) {return &g_pExportToolbar;}
	int 			IsPublic()		{return TRUE;}
	const TCHAR *	ClassName()		{return MY_CLASSNAME;}
	SClass_ID		SuperClassID()	{return UTILITY_CLASS_ID;}
	Class_ID		ClassID()		{return MY_CLASS_ID;}
	const TCHAR* 	Category()		{return MY_CATEGORY;}
};

class exportToolBarProc : public CUIFrameMsgHandler {
public:
	int ProcessMessage(UINT message, WPARAM wParam, LPARAM lParam);
};

TCHAR *GetString(int id);
extern ClassDesc* GetWorldExportDesc();

static WorldExportClassDesc WorldExportDesc;
static exportToolBarProc *tbMsgHandler;

